Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## rdlc.rdl
Class Channel

    java.lang.Object
      rdlc.rdl.Channel

    public class Channel

extends java.lang.Object

This class handles complete channel connectivity. This includes managing channel model and message type checking, ensuring all unit ports and channels are properly connected, and generating a complete list of the unit channels involved. This class encapsulates all the information about a channel from it's source (external or leaf unit) to it's final destination (external or leaf unit).

Version:
  $Revision: 1.13 $
Author:
  Greg Gibeling

Field Summary
`protected java.util.List<UnitChannel>` | `channelList` A list of the individual channel segments which are chained together.
`protected ChannelModel` | `channelModel` The channel model.
`protected java.util.List<UnitPort>` | `externalPorts` A list of the external ports (one or two) associated with this channel.
`protected java.util.Hashtable<Map,java.lang.String>` | `linkTable` A table of all the links that this channel is mapped onto in various maps.
`protected Message` | `message` The type of messages carried by this channel.
`protected boolean` | `unconnected` Record if this channel is unconnected at one end.

Constructor Summary
`Channel(UnitPort _unitPort, Log errorLog)` Constructs a complete channel starting from any unit port along the channel.

Method Summary
`protected void` | `generateChannelList(UnitPort _unitPort, Log errorLog, boolean forward)` Generate the channel list starting from a given unit port.
`java.util.List<UnitChannel>` | `getChannelList()` Simple accessor.
`ChannelModel` | `getChannelModel()` Simple accessor.
`java.util.List<UnitPort>` | `getExternalPorts()` Simple accessor.
`java.lang.String` | `getLink(Map map, boolean accurateSim, Log errorLog, ErrorLocation errorLocation)` Find or lookup the link type string for this complete channel, given a map and instance.
`Message` | `getMessage()` Simple accessor.
`boolean` | `isUnconnected()` Simple accessor.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### externalPorts

    protected java.util.List<UnitPort> externalPorts

  A list of the external ports (one or two) associated with this channel.

### channelList

    protected java.util.List<UnitChannel> channelList

  A list of the individual channel segments which are chained together.

### channelModel

    protected ChannelModel channelModel

  The channel model. Notice that this class ensures that if two are given, they are the same type.

### message

    protected Message message

  The type of messages carried by this channel. Notice that this class ensures that if two are given they are the same type.

### linkTable

    protected java.util.Hashtable<Map,java.lang.String> linkTable

  A table of all the links that this channel is mapped onto in various maps.

### unconnected

    protected boolean unconnected

  Record if this channel is unconnected at one end.

Constructor Detail

### Channel

    public Channel(UnitPort _unitPort,
                   Log errorLog)

  Constructs a complete channel starting from any unit port along the channel. This routine will move backwards and forwards to examine the channel from it's ultimate source to it's ultimate destination.

  Parameters:
    `_unitPort` - The unit port to start from.
    `errorLog` - A list of errors, which will be added to as needed.

Method Detail

### getExternalPorts

    public java.util.List<UnitPort> getExternalPorts()

  Simple accessor.

  Returns:
    A list (one or two in length) with the external ports of this complete channel, where an external port is one which leaves the unit instance for which this complete channel was generated.

### getChannelList

    public java.util.List<UnitChannel> getChannelList()

  Simple accessor.

  Returns:
    A list of all the channel segmets which comprise this complete channel. These will appear in order from the ultimate source to the ultimate destination.

### getChannelModel

    public ChannelModel getChannelModel()

  Simple accessor.

  Returns:
    The model of this complete channel. Notice that this class will perform the type checking to ensure that if two channel segments have models specified, they must type match. If no channel model was given (for timing agnostic emulation) then this will return null.

### getMessage

    public Message getMessage()

  Simple accessor.

  Returns:
    The type of the messages carried over this complete channel. If two unit ports are declared with message types, this class will ensure that they match properly.

### isUnconnected

    public boolean isUnconnected()

  Simple accessor.

  Returns:
    `true` if this channel is unconnected at one or more ends.

### getLink

    public java.lang.String getLink(Map map,
                                    boolean accurateSim,
                                    Log errorLog,
                                    ErrorLocation errorLocation)

  Find or lookup the link type string for this complete channel, given a map and instance.

  Parameters:
    `map` - The map, required for looking up the platform and specific map entries.
    `accurateSim` - Is this a timing accurate simulation?
    `errorLog` - The error list, used to report channels mapped to multiple different links.
    `errorLocation` - The location at which to report these errors.
  Returns:
    The link type for this complete channel as determined by the confluence of map specifications.

### generateChannelList

    protected void generateChannelList(UnitPort _unitPort,
                                       Log errorLog,
                                       boolean forward)

  Generate the channel list starting from a given unit port. Notice that the channel list will always be in order source to ... to dest. This is basically half of the transitive closure operation. This method is called twice to generate the full transitive closure.

  Parameters:
    `_unitPort` - The unit port to start from.
    `errorLog` - The error list for reporting problems.
    `forward` - `true` indicates source to dest traversal. `false` of course indicates dest to source traversal.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD